package com.example.springmvc.common;

/**
 * 全局统一异常处理:错误编码
 *
 * @author 朱鹏飞
 */
public enum ResultCode {
    /**
     * 操作成功
     */
    WEB_RESULT_SUCCESS(200, "success"),

    /**
     * @see #SERVER_ERROR
     */
    @Deprecated
    WEB_RESULT_FAIL(-1, "fail"),

    /**
     * 无数据或者结果<br>
     * 提示用户(前端), 前端触发下一步操作
     */
    REQUEST_NO_RESULT(101, "无数据或者结果"),
    /**
     * @see #REQUEST_FORBIDDEN
     */
    USER_NOT_LOGIN(102, "未登录或token已过期"),
    /**
     * 消息提示<br>
     * 前端消息提示, 展示 message 内容
     */
    PARAM_CHECK_FAIL(103, "参数检验失败"),

    /**
     * 用户未绑定引荐人<br>
     * 提示用户, 前端触发下一步操作
     */
    USER_NOT_BIND_REFERRER(104, "请绑定引荐人"),

    REQUEST_FORBIDDEN(403, "未授权"),

    /**
     * 后端未知异常<br>
     * 前端显示固定的错误提示, 比如: 操作失败
     */
    SERVER_ERROR(500, "服务器内部错误"),
    ;


    private final int code;
    private final String msg;

    ResultCode(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
